#include <iostream>
#include "level.hpp"
#include "message.hpp"
#include "util.hpp"
#include "format.hpp"
#include "logger.hpp"
#include "sink.hpp"

// int main()
// {

//     zzn::Logger::Builder::buildFormatter;
//     // zzn::LogMsg msg(53,"root","main.c","格式化...",zzn::LogLevel::value::INFO);
//     // zzn::Formatter fmt("abc%%abc[%d{%H:%M:%S}]%m%n%g");
//     // std::string str=fmt.format(msg);
//     // std::cout<<str<<std::endl;
//     // std::cout<<zzn::LogLevel::ToString(zzn::LogLevel::value::DEBUG)<<std::endl;
//     // std::cout<<zzn::LogLevel::ToString(zzn::LogLevel::value::INFO)<<std::endl;
//     // std::cout<<zzn::LogLevel::ToString(zzn::LogLevel::value::WARN)<<std::endl;
//     // std::cout<<zzn::LogLevel::ToString(zzn::LogLevel::value::ERROR)<<std::endl;
//     // std::cout<<zzn::LogLevel::ToString(zzn::LogLevel::value::FATAL)<<std::endl;
//     // std::cout<<zzn::LogLevel::ToString(zzn::LogLevel::value::OFF)<<std::endl;
//     // std::cout<<zzn::util::data::GetTime()<<std::endl;
//     // std::string pathname="./abc/bbb";
//     // zzn::util::file::CreateDirectory(pathname);
//     return 0;
// }

int main()
{
    zzn::LocalLoggerBuilder builder;
    builder.buildSink<zzn::StdoutSink>();
    builder.buildLoggerName("zzn");
    std::shared_ptr<zzn::Logger> logger = builder.build();
    std::string str="hello world";
    logger->debug(__FILE__,__LINE__,"hello world%s",str.c_str());
    logger->debug(__FILE__,__LINE__,"hello world%s",str.c_str());
    logger->debug(__FILE__,__LINE__,"hello world%s",str.c_str());
    logger->debug(__FILE__,__LINE__,"hello world%s",str.c_str());

    



    
    return 0;
}